home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 018a / amac41.zip / FILE26.QM < prev    next >
Text File  |  1991-08-26  |  48KB  |  1,081 lines

  1. *                              (FILE26).QM
  2. *                        Written by Tom Hogshead
  3. *             With Macro Contributions By Richard Blackburn
  4. *                                8/25/91
  5. * ^(w_)    Scroll UP   cursor bar stays fixed                          |chg
  6. * ^(z_)    Scroll DOWN cursor bar stays fixed                          |chg
  7. *
  8. * @(w)     Scroll UP   two windows in sync (by Richard Blackburn)      |chg
  9. * @(z)     Scroll DOWN two windows in sync (by Richard Blackburn)      |chg
  10. *
  11. * @(F9)    Execute DOS command without full path name                  |chg
  12. *
  13. * @(1)     LOAD file from sorted list
  14. * @(4)     LOAD file from "PickList", wild cards OK
  15. * @(5)     LOAD file whose name is at the cursor
  16. *
  17. * @(6)     re-LOAD current file from disk copy
  18. *
  19. * @(3)     DELETE file from sorted list
  20. * @(2)     READ macfile & LOAD it's txtfile from sorted list
  21. * @(F7)    READ macfile & LOAD it's txtfile from txtfile list
  22. * @(F8)    READ macfile from macfile list, txtfile is not loaded
  23. * @(8)     READ macfile of txtfile that is loaded
  24. *
  25. * @(F1)    SAVE file with name "Mos_Day_Hour_Min.Ext"
  26. * @(F2)    SAVE file with name "CurrentFileName.Mos_Day"
  27. * @(F3)    SAVE Read-Only files
  28. *
  29. * @(F4)    EXECUTE Dos command from List
  30. * @(F5)    EXECUTE Dos command from List/ with CurrentFileName
  31. *
  32. * @(F6)    Makes a DIR list of filenames in conventional "8.3" format,
  33. *          NO SPACES, with date and time, like this:
  34. *              FILE25.QM       64795   6-23-91   4:12a
  35. *          (See RINGxx.QM for this macro)
  36. *
  37. * ^(F1__)  Position cursor in column at top of paragraph (R. Blackburn)
  38. * ^(F2__)  Position cursor in column at top of paragraph
  39. * ^(F3__)  Position cursor in column at bottom of paragraph
  40. *
  41. * #(F3_)   Spell Check WITH       backup, qconfig.dat backups ON or OFF
  42. * #(F4_)   Spell Check WITHOUT    backup, qconfig.dat backups ON or OFF
  43. *
  44. * #(F5_)   SAVE  file  WITHOUT    backup, qconfig.dat backups ON
  45. * #(F6_)   SAVE  file  WITHOUT    backup, qconfig.dat backups ON or OFF
  46. *
  47. * #(F7_)   DELETE CurrentFileName backup
  48. * #(F8_)   EDIT   CurrentFileName backup
  49. *
  50. * @(PgUp)  Page Up   by paragraphs, modified "Page Up"
  51. * @(PgDn)  Page Down by paragraphs, modified "Page Dn"
  52. *
  53. * @(o)     Alternate ChangeFileName, current name in prompt box for edit
  54. * @(h)     Select Index item with cursor line, then <enter>.
  55. * @(q)     QUIT all files in "Ring"
  56. *
  57. * (Index)  How to locate macro or item below from Index using @h
  58. * (Description)
  59. * (Startup)
  60. * (Macros)
  61. * (Other) Macros
  62. * (REQUIRED) PROGRAM FILES
  63. * (Version) history
  64. *
  65. *--- eoi
  66.  
  67.  
  68. * (Index) Use;
  69. *
  70. * To locate a macro or item in this file, press @h, place the cursor
  71. * line on the desired item in the Index above, and press <enter>.
  72. * See BOOKxx.QM for more details.
  73.  
  74. * (Description):
  75.  
  76. * (FILE26).QM  QEdit macros allow  the user  to select files  from a list
  77. * to: either load  a file, read a  macfile, delete a  file, read a macfile
  78. * of loaded txtfile,  save a read-only  file, or save  files with the name
  79. * either  09141025.EXT or  file NAME.914.  File sorting  is done  using DX
  80. * Directory Extender, not included with these files.  Spell  check  macros
  81. * with ShareSpell. Cursor position and scroll macros.
  82.  
  83. * File sorting is done using DX Directory Extender, v2.11. If the newer
  84. * version 2.60 is used and it is NOT registered, the DX heading will
  85. * show in the file selection window of @1 to @5 and the initial cursor
  86. * line will not be positioned on the first files in the selection list.
  87. * The file selection can be still be made by moving the cursor line to
  88. * the desired file and pressing <enter>. Alternatively, you can either
  89. * register DX or change the macros. I suggest registration. DX is the
  90. * most powerful DOS file and directory manager available.
  91.  
  92. * For (other) macros, see ALLMACRO.INF
  93.  
  94. * These macros require "QEdit and QMAC v2.1, February, 1990" or later.
  95.  
  96. * (Startup): See also FILE.DOC for requirements.
  97. *
  98. * To BEGIN, just type "START FILE" <Enter>. All pertinent files will be
  99. * loaded in the "Ring" for viewing, and FILE26.MAC is read.
  100. * Alternatively, type "START FILE 0" <Enter> and the disk copies of all
  101. * files in the "Ring" will be loaded ready for editing, saving time.
  102.  
  103. * (REQUIRED) PROGRAM FILES
  104. *
  105. * You──MUST──have the exectable program files in AMAC-PRG.ZIP to run
  106. * some of these macros. AMAC-PRG.ZIP can be found on the following BBS's:
  107. *
  108. *                                 SemWare
  109. *                                 Exec-PC
  110. *
  111. * It can not be found on CompuServe since many of the programs are
  112. * Copyrighted. All program files are ShareWare, and inclusion in
  113. * AMAC-PRG.ZIP is not prohibited in their documentation.
  114. *
  115. * I thank the authors for these excellent programs.
  116.  
  117. *------------------(Macros):-------------------
  118. *
  119. * In response to a request by Stephan Donelian, Richard Blackburn of
  120. * SemWare wrote ^1, which prompted me to modify it slightly to ^2.
  121. *
  122. *   ╒══>Quoting STEPHAN from Date: 03-19-91 (23:10)
  123. *   │
  124. *   │I would like to be able to go to the beginning line
  125. *   │of the paragraph and at the *same* column as the
  126. *   │current column. Any ideas?
  127. *   ╘══════════════════════════════════════════════════
  128. * 
  129. * ------------------------------------------------------------------
  130. * ^(F1__)  Position cursor in column at top of paragraph (R. Blackburn)
  131. * ------------------------------------------------------------------
  132. *
  133. ^F1 macrobegin
  134.             MarkCharacter   * save our place
  135.             PrevPara        * goto start of paragraph
  136.             MarkCharacter   * make it a block
  137.             GotoBlockEnd    * go back to our place
  138.             MarkLine        * and convert to line block
  139.                             * this is because
  140.             GotoBlockBeg    * block begin on a line block is
  141.                             * just the top of the block
  142.                             * at whatever block you are in
  143.             UnMarkBlock     * un mark the block
  144. *
  145. * 11 bytes Thu  03-21-1991  19:23:29
  146.  
  147. * Here's an alternate version. I was not aware that the block begin on
  148. * a line block is just the top of the block, but now knowing that
  149. * Richard Blackburn's ^1 can be shortened one byte. Except for screen
  150. * position, both do the same thing. Richard had the neat idea that got
  151. * me thinking!
  152.  
  153. * 
  154. * ------------------------------------------------------------------
  155. *^(F2__)  Position cursor in column at top of paragraph
  156. * ------------------------------------------------------------------
  157. *
  158. ^F2 Macrobegin
  159.           MarkLine          * save our place
  160.           PrevPara          * goto start of paragraph
  161.           MarkLine          * make it a block
  162.           PrevPosition      * go back to where we started
  163.           GotoBlockBeg      * block begin on a line block is
  164.                             * just the top of the block
  165.                             * at whatever block you are in
  166.           UnMarkBlock       * un mark the block
  167. *
  168. * 10 bytes Thu  03-21-1991  19:23:40
  169.  
  170. * 
  171. * ------------------------------------------------------------------
  172. *^(F3__)  Position cursor in column at bottom of paragraph
  173. * ------------------------------------------------------------------
  174. *
  175. ^F3 Macrobegin
  176.           MarkLine          * save our place
  177.           EndPara           * goto end of paragraph
  178.           MarkLine          * make it a block
  179.           PrevPosition      * go back to where we started
  180.           GotoBlockEnd      * block end on a line block is
  181.                             * just the bottom of the block
  182.                             * at whatever block you are in
  183.           UnMarkBlock       * un mark the block
  184. *
  185. * 10 bytes Sun  03-24-1991  22:51:35
  186.  
  187. * 
  188. * ---------------------------------------------------------------------
  189. * ^(F4__) Put colon in front of rem line for faster batch file operation
  190. * ---------------------------------------------------------------------
  191. *
  192. * "Rem" lines in batch files make batch files run slower. Lines which
  193. * are labels (colon as first character) do not. This macro simply puts
  194. * a colon in column 1 for each line containing "rem ". Each rem line
  195. * for my system takes about 0.2 seconds with disk cache, and 0.5 seconds
  196. * per line with no disk cache. I found one batch file with 30 plus
  197. * rem lines - 6 to 15 seconds less running time by labelling rem lines!
  198. *
  199. * NOTE:  At least a space and one character of text must follow "rem"
  200. * to be labelled, eg the following would not be labeled:
  201. *       rem
  202. *       echo remember
  203. * The following would be labeled:
  204. *       rem  this is a test
  205. *       echo harem holiday!
  206. *              
  207. *
  208. ^F4     MacroBegin                      *
  209.         Begfile InsertLine              * Insert blank line in case
  210.                                         * rem in col/line 1/1
  211.         Editfile "c:\!" Return          * Load temp file
  212.         KillFile Quit                   * To kill/quit it
  213.         EditFile Return                 * Load empty temp file and
  214.         SaveFile                        * save it for append later
  215.         Quit                            * Quit it for now
  216.  START:                                 *
  217.         Unmarkblock                     *
  218.         Find "rem " Return "I " Return  * Find "rem "
  219.         Jfalse END:                     * No rem lines, end macro
  220.         BegLine                         *ELSE line has rem, go to bol
  221.         Dropanchor Wordright Dropanchor * Mark space up to "rem"
  222.         Shiftright                      * Shift line rt one space
  223.         Begline                         * Bak to bol
  224.         Find ":" Return "L" Return      * See if line has colon at beg
  225.         Jtrue NEXT:                     *
  226.         Cursorright ":"                 *ELSE line has no colon, add it!
  227.  NEXT:                                  *
  228.         Shiftleft                       * Shift line back lft one space
  229.         Markline                        *
  230.         WriteBlock Return "A"           * Append line to c:\!
  231.         Endline Cursordown              * Move off rem and chk for last
  232.         Jfalse END:                     *                          line
  233.         Cursorup                        *ELSE Line is not last, cur up
  234.         Jump START:                     * Loop again
  235.  END:                                   *
  236.         Begfile                         * Begin of batch file
  237.         DelLine                         * Delete top blank line
  238.         Editfile Return                 * Load c:\!, look at rem lines
  239.         DelLine KillFile                * with added colon, kill file
  240.         UnMarkBlock                     * Un mark batch file
  241. *
  242. * 82 bytes Mon  03-25-1991  16:49:26
  243.  
  244. * 
  245. * ----------------------------------------------------------------------
  246. * ^(F6__) Directory sizes sorted by size
  247. * ----------------------------------------------------------------------
  248. *
  249. * This macro must ONLY be run as autoexecute macro with dsiz.bat.
  250. * See dsiz.qm for macro, and dsiz.bat for other instructions.
  251. *
  252. * Here's the output of dsiz.bat on my E: drive . . .
  253. *
  254. * Volume [E:Mininscrb_1] created: 91-Apr-02 19:15:24;
  255. *
  256. * Directory of [e:\up\]                         1,443,775 bytes in 263 files
  257. * Directory of [e:\com\]                          840,087 bytes in 111 files
  258. * Directory of [e:\disk\]                         671,114 bytes in 9 files
  259. *        .                                                    .
  260. *        .                                                    .
  261. *        .                                                    .
  262. * Directory of [e:\new-ware\]                       1,562 bytes in 4 files
  263. * Directory of [e:\bat\legal\]                        735 bytes in 1 file
  264. *   5,891,643 bytes in 969 files.     7,157,760 bytes allocated (18% slack).
  265.  
  266. * 
  267. *┌──────────────────────────────────────────────────────────────────┐
  268. *│@(1) Selects file to LOAD from sorted list of files in directory  │
  269. *└──────────────────────────────────────────────────────────────────┘
  270. *
  271. @1 Macrobegin
  272.         altwordset                      * For all file names
  273.         EditFile "file.srt" return      * Load sort list
  274.         pause                           * Select sort type
  275.         copy                            * Copy line to scrap
  276.         quit                            * Quit file.srt
  277.         DOS "file-DX "                  * Make/sort file list
  278.         paste return return             *
  279.         EditFile "c:!" return           * Load sorted file list
  280.         cursordown insertline           *
  281.         cursordown                      * Get to first file name line
  282.         pause                           * Pause to select file
  283.         begline wordright               * Put cursor on file name
  284.         markword copy                   * Mark/copy file name
  285.         killfile quit                   * Kill/quit c:!
  286.         EditFile paste return           * Load file
  287.         defaultwordset                  * Reset default
  288. *
  289. * 68 bytes Sun  09-09-1990  14:38:25
  290.  
  291. * 
  292. *┌─────────────────────────────────────────────────────────────────────┐
  293. *│@(2) LOAD txtfile/READ macfile from sorted list of files in directory│
  294. *└─────────────────────────────────────────────────────────────────────┘
  295. *
  296. @2 Macrobegin
  297.         altwordset                      * For all file names
  298.         DOS "file-DX mac d-"            * Sort macfiles by date
  299.         return return                   *
  300.         EditFile "c:!" return           * Load sorted file list
  301.         cursordown insertline           *
  302.         cursordown                      * Get to first file name line
  303.         pause                           * Pause to select
  304.         begline                         * Re-position cursor if moved
  305.         find "." return return          * Select it and get to dot
  306.         CursorRight delrtword CursorLeft* Delete extension
  307.         markword copy                   * Mark/copy file name - no ext
  308.         killfile quit                   * Kill/quit c:!
  309.         EditFile paste  "qm" return     * Load txtfile
  310.         defaultwordset                  * Reset default
  311.         macroread paste "mac" return    * Read macfile
  312. *
  313. * 78 bytes Sun  09-09-1990  14:38:29
  314.  
  315. * 
  316. *┌──────────────────────────────────────────────────────────────────┐
  317. *│@(3) Selects file to DELETE from sorted list of files in directory│
  318. *└──────────────────────────────────────────────────────────────────┘
  319. *
  320. * Be careful to select ONLY the file you want deleted.
  321. *
  322. @3 Macrobegin
  323.         altwordset                      * For all file names
  324.         EditFile "file.srt" return      * Load sort list
  325.         pause                           * Pause to select sort
  326.         markline copy paste             * Paste selected line
  327.         begline markword                * Mark file ext
  328.         quit                            * Quit file.srt
  329.         DOS "file-DX "                  * Make/sort file list
  330.         paste return return             *
  331.         EditFile "c:!" return           * Load sorted file list
  332.         cursordown insertline           *
  333.         cursordown                      * Get to first file name line
  334.         pause                           * Pause to select file
  335.         begline wordright               * Put cursor on file name
  336.         markword copy                   * Select it
  337.         insertline                      * Insert line in c:!
  338.         paste                           * Paste file name
  339.         copy                            * Copy file name to scrap
  340.         DOS "del " paste return return  * Delete select file
  341.         killfile quit                   * Kill/quit c:!
  342.         defaultwordset                  * Reset default
  343. *
  344. * 84 bytes Sun  09-09-1990  14:38:34
  345.  
  346. * 
  347. *┌─────────────────────────────┐
  348. *│@(4) Load Files From PickList│
  349. *└─────────────────────────────┘
  350. *
  351. * To run, just press Alt and 4 at the same time. At the prompt "File=",
  352. * enter a [file name(s)] and [file sort option] to make a PickList
  353. * using the following syntax:
  354. *
  355. *         [file name(s)]  [file sort option]  <enter>
  356. *
  357. * where [file sort option] is either "esda".
  358. *
  359. * For example, when entering:
  360. *
  361. *         c*.* s- (space must be included between name/sort option!)
  362. *
  363. * a file to load can be selected from a PickList of all files in
  364. * the current directory beginning with the letter "c" sorted by size,
  365. * largest first. Entering file name(s) WITHOUT a sort option, makes
  366. * a PickList sorted by name an then extension.
  367. *
  368. * This macro can sort files in any order. The following information is
  369. * from the file DX.DOC for Directory Extender. Please read this
  370. * document for more information on using the excellent program DX.
  371. *
  372. * Sorting is by name by default. The /SOrt switch without a value sorts
  373. * by name  and then extension in ascending  order. The sorting
  374. * criteria consists of: "N" for name, "E" for extension, "S" for  size,
  375. * "D" for date/time, "A" for attribute. Specifying  a letter by itself
  376. * or with a '+' suffix indicates ascending  order;  specifying a '-'
  377. * suffix indicates descending order.
  378. *
  379. * Examples of the sort options are:
  380. *
  381. *     [filename(s)] ne         => sort by name and extension
  382. *
  383. *     [filename(s)] e-n-       => sort files descending by
  384. *                                 extension first and then by
  385. *                                 descending name
  386. *
  387. *     [filename(s)] snd-       => sort files by ascending size,
  388. *                                 ascending name, and then
  389. *                                 descending date
  390. *
  391. @4 Macrobegin
  392.         unmarkblock altwordset          * For all file names
  393.         begline insertline              * Insert temp line
  394.        "File="                          *
  395.         endline markcolumn              * Start mark
  396.         pause                           * File name?, wild cards OK
  397.         markcolumn copy                 * Mark/copy file name to scrap
  398.         delline                         * Delete temp line
  399.         DOS "PICK " paste               * Make PickList
  400.         return return                   *
  401.         EditFile "c:!" return           * Load list
  402.         cursordown insertline           *
  403.         cursordown                      * Get to first file name line
  404.         pause                           * Pause to select file
  405.         begline wordright               * Put cursor on file name
  406.         markword copy                   * Mark/copy selection to scrap
  407.         killfile quit                   * Kill/quit c:!
  408.         EditFile paste return           * Load file selected
  409.         defaultwordset                  * Reset default
  410. *
  411. * 60 bytes Sun  09-09-1990  14:38:38
  412.  
  413. * 
  414. * ┌──────────────────────────────────────────────┐
  415. * │@(5)  LOADS a file whose name is at the cursor│
  416. * └──────────────────────────────────────────────┘
  417. * This picks up a file name that is sitting at the cursor position in the
  418. * editor, and loads it into another buffer (From SemWare BBS).
  419. *
  420. @5      Macrobegin                      *
  421.         altwordset                      * For all file names
  422.         markword                        * Mark file name
  423.         copy                            * Copy to scrap
  424.         EditFile                        * Load it
  425.         paste return                    *
  426.         defaultwordset                  *
  427. *
  428. * 11 bytes Sun  09-09-1990  14:38:43
  429.  
  430. * 
  431. * ┌───────────────────────────────────────┐
  432. * │@(6) Reloads current file from disk    │
  433. * └───────────────────────────────────────┘
  434. *
  435. @6 Macrobegin
  436.    SplitLine EditFile CurrentFileName Return NewFile "N" Return
  437. *
  438. * 12 bytes Fri  08-10-1990  15:24:13
  439.  
  440.  
  441. * 
  442. *┌─────────────────────────────────────────────┐
  443. *│@(8) Reads macfile of txtfile that is loaded │
  444. *└─────────────────────────────────────────────┘
  445. *
  446. * From MACRxx.QM
  447. *
  448. @8 Macrobegin
  449.    macroread CurrentFileName backspace backspace "mac" return
  450. *
  451. * 15 bytes Sun  09-09-1990  14:38:55
  452.  
  453. * 
  454. *  ┌─────────────────────────────────────────────────┐
  455. *  │@(F1) Saves file with name "Mos_Day_Hour_Min.Ext"│
  456. *  └─────────────────────────────────────────────────┘
  457. *
  458. * This macro saves the current file with the name as
  459. * "Mos_Day_Hour_Min.Ext".  For example, @F1 saves this file as
  460. * 08191025.QM when date and time are Sun 08-19-1990  10:25:00.
  461. *
  462. * Insert must be ON.
  463. *
  464. * Thanks to Jim Wright for the neat idea how to condense date and time
  465. * with his macro in QE-MEM.ZIP. Like many other macro ideas from
  466. * others, they often seem so simple once we see and understand them
  467. * that we say "why didn't I think of that" - but I didn't !
  468.  
  469. @F1    Macrobegin
  470.  *************************************** TOGGLE INSERT ON*************
  471.        insertline                      * Insert test line
  472.        "a" CursorLeft "a"              * Insert "aa"
  473.        endline                         * If not at endline-insert is on
  474.  Jtrue FIN:                            * If at endline   -insert is off
  475.        toggleinsert                    * Toggle ON if off
  476.  FIN:                                  *
  477.        delline                         * Delete test line
  478.  *************************************** CONDENSE DATE & TIME *******
  479.        unmarkblock                     * Begin no marked block
  480.        insertline begline              * Insert line
  481.        insertdate inserttime           * Get date & time to condense
  482.        markline
  483.        delltword  delltword            * Delete seconds
  484.        backspace                       * Delete :
  485.        CursorLeft CursorLeft           * Keep minutes
  486.        backspace                       * Delete :
  487.        CursorLeft CursorLeft           * Keep hour
  488.        delltword  delltword            * Delete spaces and year
  489.        backspace                       * Delete -
  490.        CursorLeft CursorLeft           * Keep day
  491.        backspace                       * Delete -
  492.        CursorLeft CursorLeft           * Keep month
  493.        delltword  delltword            * Delete spaces & day name
  494.        endline                         * Go to end of condensed number
  495.        CurrentFileName                 * Get CurrentFileName
  496.        find "." return "LB" return     * Move to begin of extension
  497.        jtrue HASEXT:                   * If dot found, file has extn.
  498.                                        * and go to HASEXT
  499.                                        *ELSE
  500.        Endline "." CursorLeft          * Add ".", file has NO extn.
  501.  HASEXT:                               *
  502.        unmarkblock                     * unmark line
  503.        CursorLeft markcolumn           * Move off dot and mark it
  504.        find ":" return "b" return      * Move to :
  505.        CursorLeft deleteblock          * Del all but .ext of file name
  506.        cut                             * Get number.ext to scrap
  507.        writeblock paste return         * Save number.ext
  508. *
  509. * 74 bytes Wed  02-13-1991  23:16:45
  510.  
  511. * 
  512. * ┌────────────────────────────────────────────────────────┐
  513. * │@(F2) Saves file with name "CurrentFileName.Mos_Day"    │
  514. * └────────────────────────────────────────────────────────┘
  515. *
  516. * Macro saves the current file with name "CurrentFileName.Mos_Day".
  517. * For example, @F2 saves it as FILE26.214 when date and time are
  518. * Thu  02-14-1991  10:25:00. Use this macro Jan-Sept.
  519. *
  520. @F2   Macrobegin
  521.       unmarkblock                     * Begin no marked block
  522.       insertline begline              * Insert line
  523.       insertdate                      * Get date & time to condense
  524.       delltword  delltword            * Delete spaces and year
  525.       backspace                       * Delete -
  526.       CursorLeft CursorLeft           * Keep day
  527.       backspace                       * Delete -
  528.       CursorLeft                      * Keep last digit of month,
  529.       backspace                       * Delete first digit of month
  530.       backspace                       * Delete -
  531.       delltword  delltword            * Delete spaces & day name
  532.       begline                         *
  533.       CurrentFileName                 * Get CurrentFileName
  534.       delltword                       * Delete extension
  535.       cut                             * Get file name.num to scrap
  536.       writeblock paste return         * Save file name.num
  537. *
  538. * 26 bytes Wed  10-03-1990  19:24:02
  539.  
  540. * * Macro saves the current file with name "CurrentFileName.Mos_Day".
  541. * * For example, @F2 saves it as FILE26.119 when date and time are
  542. * * Sun  10-19-1990  10:25:00. Use this macro Oct-Dec.
  543. * *
  544. * @F2   Macrobegin
  545. *       unmarkblock                     * Begin no marked block
  546. *       insertline begline              * Insert line
  547. *       insertdate                      * Get date & time to condense
  548. *       delltword  delltword            * Delete spaces and year
  549. *       backspace                       * Delete -
  550. *       CursorLeft CursorLeft           * Keep day
  551. *       backspace                       * Delete -
  552. *       backspace                       * Delete last digit of month
  553. *       CursorLeft                      * Keep first digit of month,
  554. *       delltword  delltword            * Delete spaces & day name
  555. *       begline                         *
  556. *       CurrentFileName                 * Get CurrentFileName
  557. *       delltword                       * Delete extension
  558. *       cut                             * Get file name.num to scrap
  559. *       writeblock paste return         * Save file name.num
  560. * *
  561. * * 25 bytes Fri  10-19-1990  12:53:19
  562.  
  563. * 
  564. * ┌──────────────────────────────────────────────┐
  565. * │@(F3) Saves Read-Only files                   │
  566. * └──────────────────────────────────────────────┘
  567. *
  568. * This macro will save the currently loaded file if the file attribute
  569. * on the disk copy is set to Read-Only. QEdit currently will not save
  570. * files loaded as Read-Only.
  571. *
  572. * This macro is written to use either Dos ATTRIB, Gavin's ALTER, or
  573. * Norton's FA. To change from using Dos ATTRIB change the respective
  574. * lines in the macro and reconvert with QMAC.
  575. *
  576. * One word of caution: any file on the disk in the current directory
  577. * with same prefix as the loaded file will have it's read attribute
  578. * reset to read OFF regardless of the extension. Gavin's ALTER is the
  579. * fastest way to reset attributes but it also resets ALL the attributes,
  580. * including the archive bit, of ALL files in the directory with the same
  581. * prefix.
  582. *
  583. * To save a file loaded as Read-Only just press @F3:
  584.  
  585. @F3     Macrobegin
  586.         unmarkblock                     * Unmark blocks
  587.         insertline                      * Insert blank line on top
  588.         markcolumn                      *
  589.         CurrentFileName markcolumn      * Get CurrentFileName on line
  590.         storescrbuff "1" return         * Store currentfilname to buf/1
  591.         find "." return "LB" return     * Find dot back in block
  592.   jtrue IFEXT:                          * If dot found go to IFEXT:
  593.         endline ".*"                    * Add ".*" if name has NO ext
  594.   jump FULLEXT:                         * Go to FULLEXT
  595.   IFEXT:                                * If name has extension then..
  596.         CursorRight DelToEol "*"        * Add "*" after dot
  597.   FULLEXT:                              *
  598.         copy                            * Copy "prefix.*" to scrap
  599.         delline                         * Delline
  600.         changefilename "$" return       * Change CurrentFileName to $
  601.      dos "ATTRIB -R "                   * Clear Read Only attribute...
  602.         paste return return             *    w/ Dos    ATTRIB
  603. *    dos "ALTER "                       *
  604. *       paste "/RE" return return       *    w/ Gavin  ALTER (Fastest)
  605. *    dos "FA "                          *
  606. *       paste "/R-" return return       *    w/ Norton FA
  607.         insertline                      * Insert blank line in $
  608.         unmarkblock                     * Unmark all blocks
  609.         getscrbuff "1" return           * Get origfilename on line
  610.         copy                            * Copy to scrap
  611.         delline                         * Delline
  612.         changefilename paste return     * Change $ to origfilename
  613.         return                          * Gives OK to overlay origfile
  614.         savefile                        * Save origfile
  615. *
  616. * 80 bytes Wed  02-13-1991  16:14:00
  617.  
  618. * 
  619. *┌──────────────────────────────────────┐
  620. *│ @(F4) Execute Dos Commands From List │
  621. *└──────────────────────────────────────┘
  622. * To run, just press @F4 and move cursor line to the desired command
  623. * to execute. Then press <enter> to execute command and return to file
  624. * you editing. Modify DOS.LIST as you need.
  625. *
  626. * Run Syntax: [command]  <enter>
  627.  
  628. @F4  Macrobegin
  629.         unmarkblock                     *
  630.         EditFile "DOS.LST" return       * Load command list
  631.         pause                           * Select command
  632.         copy                            * Get command to scrap
  633.         quit                            * Quit command list
  634.         DOS paste return                * Execute Dos command
  635. *
  636. * 27 bytes Mon  02-11-1991  11:11:56
  637.  
  638. * 
  639. *┌──────────────────────────────────────────────────────────┐
  640. *│ @(F5) Execute Dos Commands From List With CurrentFileName│
  641. *└──────────────────────────────────────────────────────────┘
  642. *
  643. * To run, just press @F5 and move cursor line to the desired command
  644. * to execute. Then press <enter> to execute command. Press <enter> again
  645. * to return to file you were editing. Dos executes the command as if it
  646. * were run at the command line followed by the CurrentFileName, then
  647. * <enter>. Modify the DOS.LIST as you need.
  648.  
  649. * I recall getting this macro from the SemWare BBS but do not recall
  650. * the author. If anyone knows, please let me know so I can give proper
  651. * credit. It's quite a useful and simple macro.
  652. *
  653. * Run Syntax: [command] CurrentFileName <enter>
  654. *
  655. @F5 Macrobegin
  656.         unmarkblock                     *
  657.         EditFile "DOS.LST" return       * Load command list
  658.         pause                           * Select command
  659.         copy                            * Get command to scrap
  660.         quit                            * Quit command list
  661.         DOS paste " " CurrentFileName   * Execute command w/
  662.                                         * CurrentFileName
  663.         return                          *
  664. *
  665. * 30 bytes Sat  09-15-1990  09:24:37
  666.  
  667. * 
  668. * ----------------------------------------------------------------------
  669. *  @(F6)  Makes a DIR List of Filenames in Conventional "8.3" Format,
  670. *                 NO SPACES, with Date and Time, like this:
  671. *                 FILE25.QM       64795   6-23-91   4:12a
  672. * ----------------------------------------------------------------------
  673.  
  674. *  See RINGxx.QM for this macro.
  675.  
  676. * 
  677. * ┌─────────────────────────────────────────────────────────┐
  678. * │@(F7) READ macfile & LOAD it's txtfile from txtfile list │
  679. * └─────────────────────────────────────────────────────────┘
  680. *
  681. * @F7 enables a file to be selected for editing and it's macfile read
  682. * from a prepared list of txtfiles. The list of txtfiles (-qm.lst)
  683. * included with FILE26 is a list of the latest macros in this series,
  684. * but it can be altered to meet your needs by adding [drive:]\[path\]
  685. * both in front of each file in the list and also in the second line of
  686. * the macro, and adding or deleting any files you choose to/from this
  687. * list. The modified macro can be put in your QCONFIG.DAT file and
  688. * macros can be loaded and read while in any directory. To run, press
  689. * @F7, cursor down to the desired file, and press <enter>. Remember,
  690. * txtfiles must have the extension "QM" and the macfiles must have the
  691. * extension "MAC".
  692. *
  693. @F7 Macrobegin
  694.     EditFile "-qm.lst" return           * Edit txtfile list
  695.     pause                               * Pause to select macro to read
  696.     endline                             * Go to end of file name
  697.     backspace backspace                 * and remove it's extension
  698.     copy quit                           * Copy file name to scrap
  699.     EditFile  paste "qm"  return        * Load selected macro txtfile
  700.     macroread paste "mac" return        * and read it's macfile
  701. *
  702. * 42 bytes Thu  10-18-1990  12:23:41
  703.  
  704. * 
  705. *┌───────────────────────────────────────────────────────────┐
  706. *│ @(F8) READ macfile from macfile list, txtfile not loaded  │
  707. *└───────────────────────────────────────────────────────────┘
  708. *
  709. * @F8 enables a macfile to be selected and read from a prepared list
  710. * of macfiles. The list of macfiles (-mac.lst) included with FILE26 is
  711. * a list of the latest macros in this series, but it can be altered to
  712. * meet your needs by adding [drive:]\[path\] in front of each file in
  713. * the list and also in the second line of the macro, and adding or
  714. * deleting any files you choose to/from this list. The modified macro
  715. * can be put in your QCONFIG.DAT file and macros can be read while in
  716. * any directory. To run, press @F8, cursor down to the desired file,
  717. * and press <enter>. Remember, macfiles must have the extension "MAC".
  718. *
  719. @F8 Macrobegin
  720.     EditFile "-mac.lst" return          * Edit macfile list
  721.     pause                               * Pause to select macro to read
  722.     endline                             * Go to end of macfile name
  723.     backspace backspace backspace       * and remove it's extension
  724.     copy quit                           * Copy macro name to scrap
  725.     macroread paste "mac" return        * Read it's macfile only
  726. *
  727. * 38 bytes Thu  10-18-1990  12:23:50
  728.  
  729. * 
  730. *------------------------------------------------------------
  731. * #(F3_) Spell check current file WITH backup with ShareSpell,
  732. *        QCONFIG.DAT backups ON or OFF, SS makes a backup file.
  733. *------------------------------------------------------------
  734. *
  735. #F3 Macrobegin                              *
  736.     SaveFile                                * Save file
  737.     Dos "SS " CurrentFileName Return Return * Spell Check
  738.     EditFile CurrentFileName Return         * Set EditFile prompt
  739.     NewFile Return                          * Load Spell checked file
  740. *
  741. * 20 bytes Wed  02-13-1991  12:32:29
  742.  
  743. * 
  744. *-----------------------------------------------------------------
  745. * #(F4_) Spell check WITHOUT backup, QCONFIG.DAT backups ON or OFF
  746. *-----------------------------------------------------------------
  747. * This macro does not save a backup file no matter how QCONFIG.DAT is
  748. * configured for backups. If a beep is heard, the file being spell
  749. * checked does not have an extension (no dot was found).
  750. *
  751. #F4 Macrobegin
  752.     Unmarkblock Insertline Begline      * Insert temp line with
  753.     Dropanchor CurrentFileName          * CurrentFileName marked
  754.     Find "." Return "LB" Return         * Find dot backwards in name
  755.     DelToEol ".bak"                     * Add .bak
  756.     Cut Savefile                        * Cut name.bak to scrap/save it
  757.     DOS "SS " CurrentFileName Return Return * ShareSpell spell check
  758.     DOS "DEL " Paste Return Return      * Delete name.bak
  759.     EditFile CurrentFileName Return     * Set EditFile prompt
  760.     NewFile Return                      * Load spell checked file
  761. *
  762. * 56 bytes Sun  02-17-1991  14:02:28
  763.  
  764. * 
  765. *---------------------------------------------------------
  766. * #(F5_) Saves file WITHOUT backup, QCONFIG.DAT backups ON
  767. *---------------------------------------------------------
  768. * Saves files without making a backup file if QCONFIG.DAT
  769. * is configured "Yes" to "Do you want backups saved?".
  770. *
  771. #F5 Macrobegin Togglebakups SaveFile Togglebakups
  772. *
  773. * 7 bytes Tue  02-12-1991  03:39:44
  774.  
  775. * 
  776. *----------------------------------------------------------------
  777. * #(F6_) Saves file WITHOUT backup, QCONFIG.DAT backups ON or OFF
  778. *----------------------------------------------------------------
  779. * This is an alternate version of #F5 which does not save a backup
  780. * file no matter how QCONFIG.DAT is configured for backups. If a
  781. * beep is heard, the file being saved does not have an extension
  782. * (no dot was found).
  783. *
  784. #F6 Macrobegin
  785.     Unmarkblock Insertline Begline      * Insert temp line with
  786.     Dropanchor CurrentFileName          * CurrentFileName marked
  787.     Find "." Return "LB" Return         * Find dot backwards
  788.     DelToEol ".bak"                     * Add .bak
  789.     Cut Savefile                        * Cut name.bak to scrap/save file
  790.     DOS "del " Paste Return Return      * Delete name.bak
  791. *
  792. * 41 bytes Sun  02-17-1991  14:30:32
  793.  
  794. * Here's an alternate version of #F6 that saves a file without a
  795. * backup no matter how QCONFFIG.DAT is configured. Be careful that no
  796. * line feed or carriage return characters are in the file or the saved
  797. * file will be formatted with these characters removed.
  798. *
  799. * #F6 Macrobegin                        *
  800. *     unmarkblock killfile              * Kill disk copy so writeblock
  801. *                                       * works without prompts
  802. *     writeblock currentfilename return * Save file as block
  803. *
  804. * 8 bytes Thu  02-14-1991  12:28:01
  805.  
  806. * 
  807. *--------------------------------------
  808. * #(F7_) Deletes CurrentFileName Backup
  809. *--------------------------------------
  810. *
  811. #F7 Macrobegin
  812.     Unmarkblock Insertline Begline      * Insert temp line with
  813.     Dropanchor CurrentFileName          * CurrentFileName marked
  814.     Find "." Return "LB" Return         * Find dot backwards
  815.     DelToEol ".bak"                     * Add .bak
  816.     Cut                                 * Cut name.bak to scrap
  817.     DOS "DEL " Paste Return Return      * Delete name.bak
  818. *   DOS "DX " Paste "//DEL"             * Alternate verify delete
  819. *   Return Return                       * with Directory Extender DX
  820. *
  821. * 40 bytes Sun  02-17-1991  14:10:19
  822.  
  823. * 
  824. *----------------------------------
  825. * #(F8_) Edit CurrentFileName Backup
  826. *----------------------------------
  827. *
  828. #F8 Macrobegin
  829.     Unmarkblock Insertline Begline      * Insert temp line with
  830.     Dropanchor CurrentFileName          * CurrentFileName marked
  831.     Find "." Return "LB" Return         * Find dot backwards
  832.     DelToEol ".bak"                     * Add .bak
  833.     Cut                                 * Cut name.bak to scrap
  834.     EditFile Paste Return               * Load name.bak
  835. *
  836. * 31 bytes Sun  02-17-1991  14:10:06
  837.  
  838. * 
  839. *---------------------------------------------------
  840. * @(PgUp), Page Up by paragraphs, modified "Page Up"
  841. *---------------------------------------------------
  842. *
  843. * This macro does a modified page UP with the cursor at the top of the
  844. * screen at the beginning of a paragraph, the first paragraph on the
  845. * screen being the last parapgraph which might not have been fully
  846. * visible on the top of previous screen. This is handy for getting to
  847. * and from paragraphs during editing or viewing.
  848. *
  849. 177 MacroBegin PageUp PrevPara BegLine Maketopofscreen
  850. *
  851. * 8 bytes Thu  02-21-1991  14:23:43
  852.  
  853. *-----------------------------------------------------
  854. * @(PgDn), Page Down by paragraphs, modified "Page Dn"
  855. *----------------------------------------------------
  856. *
  857. * This macro does a modified page DOWN with the cursor at the top of
  858. * the screen on the end of the last paragraph which was not fully
  859. * visible on the previous screen. This is handy for getting to and from
  860. * paragraphs during editing or viewing.
  861. *
  862. 176 MacroBegin PageDown EndPara BegLine Maketopofscreen
  863. *
  864. * 8 bytes Thu  02-21-1991  19:11:14
  865.  
  866. * 
  867. *┌───────────────────────────────────────────────────────────────────┐
  868. *│@(h) Finds first word on cursor line marked in document below      │
  869. *└───────────────────────────────────────────────────────────────────┘
  870. *
  871. *        @h macro has 2 steps:
  872. *
  873. *        1. Press @ and h at the same time. An ! shows at the
  874. *        end of the top line. Cursor down to desired line in Index.
  875. *
  876. *        2. Press Enter. The macro first erases the !, and
  877. *        then finds the first word on the cursor line in the document
  878. *        below marked with (...).
  879. *
  880. * See BOOKxx.QM for more details.
  881. *
  882. @h Macrobegin
  883.         unmarkblock                     * Unmark any marked blocks
  884.         begfile endline                 * Go to file begin endline
  885.         "!"                             * Put ! at endline
  886.         begline
  887.         find "!" return return begline  * Highlight !
  888.         pause                           * Pause for Index selection
  889.         wordright markword              * Mark first word on line
  890.         copy                            * Copy word to scrap buffer
  891.         begfile                         * Begfile
  892.         find "!" return return delch    * Find & delete !
  893.         endpara                         * Go to end of Index
  894.         makectrofscreen                 * Cursor line center of window
  895.         find "(" paste ")"
  896.         return "I" return               * Find first marked word in doc
  897.  jfalse NOMARK:
  898.         begline                         * If mark found go to begline
  899.  jump END:
  900.  NOMARK:
  901.         begfile                         * If no mark found go to begfile
  902.  END:
  903. *
  904. * 47 bytes Fri  09-14-1990  14:06:26
  905.  
  906. * 
  907. * ----------------------------------------------------------------------
  908. * @(F9) Execute DOS command for programs not requring full path name
  909. * ----------------------------------------------------------------------
  910. *
  911. @F9  Macrobegin
  912.     Unmarkblock Insertline          * Insert temp line
  913.     CurrentFileName                 * with CurrentFileName
  914.     MarkCharacter                   * Begin mark
  915.     Find "\" Return "B" Return      * Find \ backwards
  916.     CursorRight Cut                 * Cut filename to scrap
  917.     Delline                         * Delete temp line 
  918.     Dos Pause " " Paste Return      * Pause for DOS command
  919. *
  920. * 24 bytes Tue  04-23-1991  11:58:35
  921.  
  922. * 
  923. * ----------------------------------------------------------------------
  924. * @(o) Alternate ChangeFileName, currentfilename in prompt box for edit
  925. * ----------------------------------------------------------------------
  926. *
  927. * This macro puts the currentfilename in the prompt box for editing.
  928. *
  929. @o   MacroBegin ChangeFilename DelLine CurrentFilename
  930. *
  931. * 7 bytes Wed  04-03-1991  16:25:01
  932.  
  933. * 
  934. *┌──────────────────────────────────┐
  935. *│@(q) QUITs all Files in Ring      │
  936. *└──────────────────────────────────┘
  937. *
  938. @q      Macrobegin
  939.     LOOP:
  940.         quit
  941.         jump LOOP:
  942. *
  943. * 8 bytes Sat  09-29-1990  00:03:46
  944.  
  945. * 
  946. * -----------------------------------------------
  947. *  ^(w_) Scroll UP, cursor bar stays fixed
  948. * -----------------------------------------------
  949. *
  950. ^w lineup
  951. *
  952. * 6 bytes Fri  02-22-1991  17:01:18
  953. * 0 bytes Sat  08-24-1991  16:30:39 (TH ^w)
  954.  
  955. * -----------------------------------------------
  956. *  ^(z_) Scroll DOWN, cursor bar stays fixed
  957. * -----------------------------------------------
  958. *
  959. ^z linedown
  960. *
  961. * 6 bytes Fri  02-22-1991  17:01:18
  962. * 0 bytes Sat  08-24-1991  16:31:11 (TH ^z)
  963.  
  964. * 
  965. * ------------------------------------------------
  966. * @(w) Scroll two windows up in sync
  967. * ------------------------------------------------
  968. @w macrobegin Lineup nextwindow Lineup prevwindow
  969. *
  970. * 10 bytes Fri  02-22-1991  16:52:31
  971. * 8 bytes Sat  08-24-1991  16:26:08 (TH @w, written by Richard BlackBurn)
  972.  
  973. * 
  974. * ------------------------------------------------
  975. * @(z) Scroll two windows down in sync
  976. * ------------------------------------------------
  977. @z macrobegin Linedown nextwindow Linedown prevwindow
  978. *
  979. * 10 bytes Fri  02-22-1991  16:52:39
  980. * 8 bytes Sat  08-24-1991  16:27:03 (TH @z, written by Richard BlackBurn)
  981.  
  982. * (Version) History:
  983. *
  984. *  1.0 - Initial version named SORT10.ZIP
  985. *  1.1 - changed and shortened Alt-f3 to keep extraneous files
  986. *        from ring
  987. *      - Changed file names from SORTxx.xxx to FILExx.xxx.
  988. *  1.2 - DX Directory Extended not included to save download time.
  989. *  1.2a- Changed other file names in series, this is an update.
  990. *  1.3 - Added @4 to load files from PickList, wild cards OK.
  991. *      - Changed j:$ to c:! in macros and batch file.
  992. *      - Changed .QL and .LST files.
  993. *      - Changed key assignments from alternate_functions
  994. *        to alternate_numbers.
  995. *      - All macros shortened.
  996. *  1.4 - FILE-DX.BAT was not saving "echo .." initialization; corrected.
  997. *      - Modified macros @1-4 so Insert does NOT have to be ON.
  998. *      - Added AltWordSet to @1-4 to get all files.
  999. *      - Removed need to use scratch buffers in @3.
  1000. *      - Added @5 to LOAD a file whose name is at the cursor.
  1001. *      - Added @6 to execute Dos Commands From List.
  1002. *      - Added @7 to EXECUTE DOS commands from List
  1003. *        with CurrentFileName.
  1004. *      - Added @8 to read macfile of txtfile that is loaded.
  1005. *      - Added ^3 to save Read-Only files.
  1006. *      - Added ^1 and ^2 to save files with date-time name.
  1007. *      - Modified @1-4 and batch files to exclude directories in file
  1008. *        list and PickList.
  1009. *      - Removed check to quit c:! if already loaded in @1-4.
  1010. *      - Changed @4 to use only PICK.BAT.
  1011. *  1.5 - Added @9 to select file to edit from RingList
  1012. *      - Added @0 to select file to edit from RingList if new files have
  1013. *        been loaded since making last RingList
  1014. *      - Added @h to FIND items or macros in Index.
  1015. *      - Added @q to QUIT all files in ring.
  1016. *  1.6 - Added @6 to re-LOAD current file from disk copy.
  1017. *      - Modified @9 and @0 to be faster and shorter.
  1018. *      - Modified @F2 for correct extension Oct-Dec.
  1019. *      - Changed @F1 thru @F5 key assignments.
  1020. *  1.7 - Added @F6 to turn "DIR" command into a "8.3" list of filenames,
  1021. *        written by  T. Farley of SemWare.
  1022. *      - Added @F7 and @F8 to read and load txtfiles and macfiles from
  1023. *        a prepared list of active txtfiles and macfiles.
  1024. *      - Modified @F2 for Oct-Dec and added alternate version
  1025. *        for Jan-Sept.
  1026. *      - DOS.LST was inadvertantly left out of versions since 1.4.
  1027. *        It is now included.
  1028. *  1.8 - Modified @F6 for DOS Ver 3.3, other Dos versions not tested.
  1029. *      - Modified documentation and added START.BAT.
  1030. *      - Added @z to load all files in "Ring" buffer.
  1031. *      - Modified @F2 for Jan-Sep and added alternate version
  1032. *        for Oct-Dec.
  1033. *  1.9 - Added @F to execute programs requiring filename without full
  1034. *        path name.
  1035. *      - Corrected @h Index Use instructions.
  1036. *      - Shortened @F3 2 bytes.
  1037. *  2.0 - Added #F3 & #F4 to spell check with ShareSpell.
  1038. *      - Added #F5 & #F6 to save files without making backups.
  1039. *      - Added #F7 & #F8 to delete and edit CurrentFileName Backup.
  1040. *      - Modified @F1 to handle file names with no extension.
  1041. *      - Changed @F3 in "B" to "LB" to search for dot only in block.
  1042. *      - From @F4 removed second return to not pause after executing.
  1043. *        DOS command.
  1044. *      - Modified @F6 to handle multiple runs correctly.
  1045. *      - Changed $$$.TMP to C:! in @F6, shortened 16 bytes.
  1046. *      - Change @z key to @7.
  1047. *  2.1 - Added @PgUp and @PgDn for modified "Page Up and Page Down".
  1048. *      - Added @w and @z to scroll two windows up/down in sync.
  1049. *      - Added ^w and ^z to scroll up/down so cursor bar stays fixed.
  1050. *      - Removed unnecessary lines and shortened #F4,6,7,8.
  1051. *  2.2 - Changed DelLine 6 ot 4 in @f6 to eliminate deletion of
  1052. *        top 2 files in DIR list.
  1053. *  2.3 - Added ^1 and ^2 to position cursor in column at top of
  1054. *        paragraph.
  1055. *      - Added ^3  to position cursor in column at bottom of paragraph
  1056. *      - Added ^4 to put colon in front of "rem" lines for faster
  1057. *        batch file operation.
  1058. *  2.4 - Added @o  Alternate ChangeFileName, CurrentFileName in prompt
  1059. *        box.
  1060. *      - Changed control_numeric keys to control_function keys.
  1061. *                old     new
  1062. *                ^1      ^F1
  1063. *                ^2      ^F2
  1064. *                ^3      ^F3
  1065. *      - Changed @F9 to pause for DOS command
  1066. *      - Moved ^4 to COMTxx.
  1067. *  2.4a- Corrected description of @F7 and @F8.
  1068. *  2.5 - Changed file name in @7, @9 and @0 from ! to NUL - faster.
  1069. *      - Made @F6 faster.
  1070. *      - Moved @F6 DIR list macro to RINGxx.QM.
  1071. *  2.5a- Minor documentation changes.
  1072. *        (Included in AMACxx.ZIP v4.0)
  1073. *  2.6 - Modified @w, @z, ^w, ans ^z.                                  8/24/91
  1074. *      - Changed @f key to @F9.                                        8/24/91
  1075. *      - Removed @7, @8 and @9. Same thing now in RINGxx.QM.           8/25/91
  1076. *
  1077. *
  1078. *
  1079. *
  1080. *
  1081.